1. Field of the Invention
Embodiments of the invention relate to the field of virtualization technology, and more specifically, to interrupt processing on a virtualized platform.
2. Description of Related Art
Virtualization technologies have been hosted on server-class computing platforms. These computing platforms are typically highly available, and run at the highest levels of performance, e.g., with lowest latency, highest bandwidth, highest frequency. The high-performance demanded by virtualization usually translates to increased consumption of power, and increased generation of heat. This is in direct conflict with the goals of desktop and mobile platforms which attempt to reduce the cooling requirements or maximize battery life by minimizing required power usage. The primary method used to reduce power is to dynamically lower the central processing unit (CPU) or processor frequency, aggressively detect idle states of the platform and halt CPU execution, and power down unneeded or little used devices. Each of these power state transitions is typically associated with the absence or presence of device interrupts or external events.
With virtualized platforms, not all virtual machines (VMs) may own servicing the interrupts from all of the devices. For every hardware interrupt asserted to the CPU, the interrupt may cause an immediate exit from whatever VM is currently executing on the CPU, including power saving HALT states, regardless of whether the current VM would handle the actual hardware interrupt cause or not. This behavior makes it difficult to develop individual VM partitions separately, and estimate the processing and power requirements associated with combining individual VMs onto the same platform. In addition, frequently generated interrupts may cause significant overhead in VM exits and resumes, leading to degraded performance.